package com.cloud.wyf.Service;

import com.cloud.wyf.Entity.*;
import com.cloud.wyf.Entity.Dto.LeaderShipDto;
import com.cloud.wyf.Entity.Dto.MiddelDto;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface UserService {
    int updateInfo(List<Middel> list);
    List<Leader> selectAll();
    User selectByName(String nickname);
    int MultiAddMi(List<Middel> list);
    int MultiAddOr(List<Ordinary> list);
    List<Middel> selectAllMi();
    PageBean<MiddelDto> selectByPage(int currentPage, int pageSize);
    PageBean<LeaderShipDto> selectByPageL(int currentPage, int pageSize);
    int updateLeaderShipStatus(int status,String  part);
    int uploadS(String path, String uid,int status);
    List<Leader> selectLeaderByUids(List<String> uids);
    List<LeaderShip> selectAllLeaderShip();
    Leader selectLeaderById(String id);
    Ordinary selectOrdinaryById(String id);
    Part selectByPart(String part);
    List<Part> selectByDirectPart(String directPart);
    Middel selectMidById(String uid);
    User selectUserById(String id);
    int MultiUser(List<User> list);
    List<Part> selectAllPart();
    List<Ordinary> selectAllOrdinary();
    List<User> MultiSelect(List<String> list);
    int totalNum();
    int updateStatus(int status, String  uid);
    LeaderShip selectLeaderShipByPart(String part);
    int updateLeaderShip(LeaderShip leaderShip);

    @Transactional
    Boolean outport(List<User> list,List<Ordinary> list1);

    @Transactional
    Boolean startVote(int status,int status2);

    @Transactional
    Boolean closeVote(int status,int status2);
}
